package br.com.duosoftware.orcamento.entidades;

import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;

/**
 *
 * @author Renato
 *
 */
@Entity
@Table(name = "gestores")
public class Gestor extends Pessoa {

    @OneToOne
    private Ingresso ingresso;
    //
    @OneToOne
    private TipoServico tipoServico;
    //
    @OneToOne
    private TipoCargo tipoCargo;
    //
    @Column(length = 10)
    private String expediente;
    //
    @OneToOne
    private Confirmacao ordenador;
    //
    @ManyToMany
    @JoinTable(name = "movimentacoes_de_gestor",
            joinColumns = {
        @JoinColumn(name = "gestor_id")},
            inverseJoinColumns = {
        @JoinColumn(name = "unidade_orcamentaria_id")})
    private List<UnidadeOrcamentaria> unidadesOrcamentarias;

    public Ingresso getIngresso() {
        return ingresso;
    }

    public void setIngresso(Ingresso ingresso) {
        this.ingresso = ingresso;
    }

    public TipoServico getTipoServico() {
        return tipoServico;
    }

    public void setTipoServico(TipoServico tipoServico) {
        this.tipoServico = tipoServico;
    }

    public TipoCargo getTipoCargo() {
        return tipoCargo;
    }

    public void setTipoCargo(TipoCargo tipoCargo) {
        this.tipoCargo = tipoCargo;
    }

    public String getExpediente() {
        return expediente;
    }

    public void setExpediente(String expediente) {
        this.expediente = expediente;
    }

    public Confirmacao getOrdenador() {
        return ordenador;
    }

    public void setOrdenador(Confirmacao ordenador) {
        this.ordenador = ordenador;
    }

    public List<UnidadeOrcamentaria> getUnidadesOrcamentarias() {
        return unidadesOrcamentarias;
    }

    public void setUnidadesOrcamentarias(List<UnidadeOrcamentaria> unidadesOrcamentarias) {
        this.unidadesOrcamentarias = unidadesOrcamentarias;
    }
}
